import { defineConfig } from "vite";
import { resolve } from 'node:path';
import vue from "@vitejs/plugin-vue";
import vuetify from "vite-plugin-vuetify";
import UnoCSS from 'unocss/vite';
import Pages from 'vite-plugin-pages';
// https://vitejs.dev/config/
export default defineConfig(async () => ({
  plugins: [
    vue(),
    UnoCSS(),
    vuetify({ 
      autoImport: true,
    }),
    Pages()
  ],
  resolve:{
    alias: {
      "@": resolve(__dirname, 'src'),
      "#": resolve(__dirname, "types")
    },
    extensions: ['.js', '.json', '.ts']
  },
  typeRoots: ["./node_modules/@types/", "./types"],

  // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build`
  //
  // 1. prevent vite from obscuring rust errors
  clearScreen: false,
  // 2. tauri expects a fixed port, fail if that port is not available
  server: {
    port: 1420,
    strictPort: true,
  },
  // 3. to make use of `TAURI_DEBUG` and other env variables
  // https://tauri.studio/v1/api/config#buildconfig.beforedevcommand
  envPrefix: ["VITE_", "TAURI_"],
  build:{
    target:['esnext']
  }
}));
